package com.ops.config;

import com.ops.entity.User;
import com.ops.service.UserService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.CommandLineRunner;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;

/**
 * 初始数据配置类
 * 负责系统启动时的数据初始化工作
 */
@Configuration
public class InitialDataConfig {

    @Autowired
    private UserService userService;

    /**
     * 初始化数据的命令行运行器
     * 系统启动时自动执行，检查并创建管理员账号
     */
    @Bean
    public CommandLineRunner initializeData() {
        return args -> {
            // 检查管理员账号是否存在
            try {
                userService.authenticate("zhiyikeji", "Zhiyikeji123..");
            } catch (RuntimeException e) {
                // 创建管理员账号
                User adminUser = new User();
                adminUser.setUsername("zhiyikeji");
                adminUser.setPassword("Zhiyikeji123..");
                adminUser.setRealName("系统管理员");
                adminUser.setEmail("admin@example.com");
                userService.createUser(adminUser);
                System.out.println("已创建管理员账号，用户名：zhiyikeji，密码：Zhiyikeji123..");
            }
        };
    }
} 